package cn.itcast.mapper;

import cn.itcast.pojo.user;
import cn.itcast.pojo.userExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface userMapper {
    int countByExample(userExample example);

    int deleteByExample(userExample example);

    int deleteByPrimaryKey(String openId);

    int insert(user record);

    int insertSelective(user record);

    List<user> selectByExample(userExample example);

    user selectByPrimaryKey(String openId);

    int updateByExampleSelective(@Param("record") user record, @Param("example") userExample example);

    int updateByExample(@Param("record") user record, @Param("example") userExample example);

    int updateByPrimaryKeySelective(user record);

    int updateByPrimaryKey(user record);

    /**
     *
     * @Description:
     * 查询一级分销
     * @auther: 欧阳辉
     * @date: 18:28 2020/6/9
     * @param: [openId]
     * @return: java.util.List<cn.itcast.pojo.user>
     *
     */
    List<user> findOneDistribution(String openId);

    /**
     *
     * @Description:
     * 查询二级分销
     * @auther: 欧阳辉
     * @date: 18:28 2020/6/9
     * @param: [openId]
     * @return: java.util.List<cn.itcast.pojo.user>
     *
     */
    List<user> findTwoDistribution(String openId);


    /**
     *
     * @Description:
     * 根据同一个openId查询二级分销
     * @auther: 欧阳辉
     * @date: 18:28 2020/6/9
     * @param: [openId]
     * @return: java.util.List<cn.itcast.pojo.user>
     *
     */
    List<user> selectTwoDistribution(String openId);

    /**
     *功能：查询昨天新增的用户数和查询他们是谁推广的
     * @author 张松
     * @date 2020/6/24
     * @param
     * @return java.util.List<cn.itcast.pojo.user>
     */
    List<user> getYesterdayAdduser();


    /**
     *
     * @Description:  获取每日新增用户
     *
     * @auther: 张松
     * @date: 9:10 2020/7/18
     * @param: [intData] 控制相隔的日期
     * @return: java.util.List<cn.itcast.pojo.user>
     *
     */
    List<user> getEveryDayAdduser(Integer intData);
    /**
     *
     * @Description: 查看全部用户数
     *
     * @auther: 张松
     * @date: 14:23 2020/6/26
     * @param: []
     * @return: java.lang.Integer
     *
     */
    Integer selectAllUserCount() ;


    user selectFindOneUser(String openId);


    /**
     *
     * @Description:  查看是否有这个手机号
     *
     * @auther: 张松
     * @date: 9:20 2020/7/14
     * @param: [phone]
     * @return: cn.itcast.pojo.user
     *
     */
    user selectUserPhone(String phone);


    /**
     *
     * @Description:  查找user表中最早注册的用户
     *
     * @auther: 张松
     * @date: 18:36 2020/7/17
     * @param: []
     * @return: cn.itcast.pojo.user
     *
     */
    user selectMinDate();

    /**
     *
     * @Description: 获取当前的时间
     *
     * @auther: 张松
     * @date: 18:36 2020/7/17
     * @param: []
     * @return: cn.itcast.pojo.user
     *
     */
    user selectNowDate();


    /**
     *
     * @Description: 用户绑定骑手账号
     *
     * @auther: 张松
     * @date: 12:20 2020/12/30
     * @param: []
     * @return: cn.itcast.pojo.user
     *
     */

    int userBindHorsemanPhone(String userOpenid, String horsemanPhone);

    /**
     *
     * @Description: 解除用户绑定的骑手
     *
     * @auther: 张松
     * @date: 16:28 2020/12/30
     * @param: [userOpenId]
     * @return: java.lang.Integer
     *
     */
    Integer relieveUserBindHorseman(String userOpenId);
}